1、 RTC 驱动框架简介
	RTC 驱动框架基于字符设备，在内核中用 struct rtc_device 对象来表示一个 RTC 设备，其核心成员如下：
		//继承于struct device对象
		struct device dev;
		//操作RTC设备的函数集
		const struct rtc_class_ops *ops;
		//RTC id
		int id;
		//包含的cdev对象
		struct cdev char_dev;
	其中 struct rtc_class_ops 用于于操作 RTC 设备，其关键成员如下：
		//控制RTC设备，写此函数是需要避免控制指令与RTC驱动框架控制指令的冲突
		int (*ioctl)(struct device *, unsigned int, unsigned long);
		//读时间
		int (*read_time)(struct device *, struct rtc_time *);
		//设置时间
		int (*set_time)(struct device *, struct rtc_time *);
		//读取下一次alarm中断的时间
		int (*read_alarm)(struct device *, struct rtc_wkalrm *);
		//设置下一次alarm中断的时间
		int (*set_alarm)(struct device *, struct rtc_wkalrm *);
		//使能alarm中断开关
		int (*alarm_irq_enable)(struct device *, unsigned int enabled);
	注册 RTC 设备：
		方法1；使用devm_rtc_device_register一次性完成RTC设备的分配、初始化、注册
		rtc_device *devm_rtc_device_register(struct device *dev, 
											const char *name, 
											const struct rtc_class_ops *ops, 
											struct module *owner);
		方法2；先用devm_rtc_allocate_device分配一个RTC设备，然后对其进行初始化，最后利用rtc_register_device进
	行注册。
		rtc_device *devm_rtc_allocate_device(struct device *dev);
		int rtc_register_device(struct rtc_device *rtc);
	注销 RTC 设备：
		因为 RTC 设备采用带 devm 前缀的函数分配并注册，所以在模块卸载是自动注销。

